The invention relates to contactless communication between a portable object and a terminal.
Interchanging data without contact is well known; the applications of this technique include, in a non-limiting manner, controlling access and remote payment, e.g. access to and payment for public transport.
As shown in the example contactless communication system 1 in FIG. 4, each user is provided with a portable object 2 of the xe2x80x9ccontactless cardxe2x80x9d or xe2x80x9ccontactless badgexe2x80x9d type which is an object capable of interchanging information with a fixed xe2x80x9cterminalxe2x80x9d 3 by bringing the badge close to the terminal so as to enable non-metallic mutual coupling to be established there between (with the term xe2x80x9cterminalxe2x80x9d by bringing the badge close to the terminal so as to enable non-metallic mutual coupling to be established there between (with the term xe2x80x9cterminalxe2x80x9d being commonly used to designate a data transceiver suitable for cooperating with portable objects).
The invention relates to the particular situation in which a plurality of badges can be present simultaneously in the field of action of the terminal, and where there are no physical means, e.g. insertion into a slot, for isolating the arrival of a single object in the field.
Given that the signals transmitted by the various badges can overlap one another in time, the terminal must be provided with an xe2x80x9canti-collisionxe2x80x9d mechanism enabling it to detect such situations and to handle them so as to cause signals to be retransmitted by the badges.
Various algorithms have been proposed for this purpose. For example, European Patent Application No. 0 669 592 is based on accurate synchronization of the responses from badges that are present simultaneously in the field of action of the terminal. However, that requires the ability to achieve such synchronization, i.e. to cause all of the badges to transmit a signal at the same time in response to an interrogation message transmitted by the terminal. In practice, that technique requires a response mechanism to be integrated in each badge in the form of hard-wired logic.
It is not always possible to obtain such synchronization, particularly when using microprocessor badges which have response times that are not predictable with sufficient accuracy to be able to obtain the necessary degree of synchronization.
Under such circumstances, proposals have been made, e.g. in French Patent Application No. 2 666 187 A, to define a frame having a relatively large number of slots, with the response from the badge being transmitted asynchronously during a slot whose position within the frame is determined by selecting a random or pseudo-random number for each transmission. That technique solves the problem of lack of synchronization between badges and greatly reduces the probability of collision, with the probability decreasing with increasing number of time slots per frame.
Nevertheless, to be effective, that technique suffers from the drawback of requiring frames that are relatively long, given that the frames must have a large number of time slots, and that in addition the time slots must themselves be sufficiently large to enable all of the requisite information to be transmitted, particularly the complete identification number of the badge. This gives rise to a large and systemic increase in the duration of a transaction, and this applies independently of the number of badges actually present in the field of action of the terminal (since the duration of the frame is independent of the number, and is just as long in the most frequent case of only one badge being present as it is in the case of a large number of badges being present).
European Patent Application No. 0 702 324 A proposes another mechanism for handling collisions which provides that if a collision is detected, then the terminal sends a collision warning to the badge; on receiving this warning, each badge decides whether or not to send a message in reply, with the decision being random in nature and having a fixed probability of response, e.g. 50%. The number of responses received by the terminal, and consequently the risk of collision, is thus reduced after a first collision has been detected. If one or more collisions are still detected, the mechanism is reiterated until collisions have completely disappeared.
With such a mechanism, particularly when many badges are present in the field of action of the terminal, it will be understood that collisions can reoccur several times over and the number of reiterations can be large, thereby giving rise to a corresponding increase in the time required to identify all of the badges present.
One of the objects of the invention is to solve those various difficulties by proposing an asynchronous type of mechanism for handling collisions, i.e. a mechanism that is entirely suitable for use with microprocessor badges, which mechanism can easily be matched to the average number of badges actually or potentially present in the field of action of the terminal.
It is explained below that this adaptive matching under the control of the terminal can be static or dynamic. Static matching includes setting the terminal a priori to optimize the duration of the anti-collision algorithm as a function of the mean number of badges most likely to be found in the field of action of the terminal. Dynamic matching includes modifying the parameters of the algorithm during a given identification sequence, from one iteration to the next, as a function of the number of badges actually present in the field of action of the terminal.
Static or dynamic matching can be implemented independently or cumulatively.
It will also be observed that optimizing the process of collision handling (static or dynamic matching) is under the control of the terminal and thus independent of the badges, which can thus be used equally well in circumstances and environments that are very different.
Thus, the same badge can be used without modification of its own settings both with terminals having xe2x80x9chandsfreexe2x80x9d type readers (e.g. for passing through an inspection gate) where a large number of badges may be present simultaneously within the field of action of the terminal, typically as many as 8 to 10 badges simultaneously, and with terminals having xe2x80x9cvoluntary actxe2x80x9d type readers, i.e. where the user is required to bring the badge into a read zone of small size or to press the badge thereagainst, as occurs, for example, when remotely paying for public transport (in which case the typical number of badges that can be present simultaneously is much smaller: close to 2, and only very rarely greater than 3).
More precisely, the method of the invention comprises the following successive steps: a) the present terminal transmits, to said plurality of badges, general call messages, each including a collision probability modulation parameter; b) each badge conditionally transmits, to the terminal, a general call response message with a probability of less than 100% as a function of the collision probability modulation parameter, each general call response message containing an identifier specific to the badge; c) on the terminal receiving a general call response message, and in the absence of any collision between the message and a message transmitted by another badge, a specific data communication link is established between the terminal and the badge and data interchange is continued, returning to step a) for a new iteration; and d) otherwise, the method returns to step a) for a new iteration.
In various advantageous implementations:
the probability of a general call response message being transmitted is modified on each new consecutive iteration in step c) or d); in particular this probability is decreased on the next iteration following step d) in the event of collision;
at least within iterations following step d) in the event of a collision subsequent to first transmission of a general call message (GENCALL), the probability modulation parameter is transmitted by the terminal so as to define a probability of less than 100% for transmission of a general call response message by each badge likely to reply;
the badge produces a pseudo-random value and compares the pseudo-random value with the received probability modulation parameter;
the probability modulation parameter comprises a first field containing fixed data representative of a predetermined type of terminal, and a second field containing specific data for modulating probability; in step b), the fixed data is subjected to prior comparison with corresponding data contained in the badge; and the random value of step b) is generated and the conditional transmission of step c) is performed only if the prior comparison has also given rise to the result xe2x80x9ctruexe2x80x9d;
in step c), generating a control message comprising both the identifier specific to the badge as received by the terminal in response to the general call, and an unambiguous communications channel number; sending said control message from the terminal to the badge; and then continuing the data interchange on the channel allocated in this way; advantageously, when a badge is found to be simultaneously in the fields of action of a plurality of terminals, the channel number includes a data item specific to the terminal which has established a link with the badge, the data item differing between adjacent terminals;
the probability modulation parameter is a parameter that is modifiable dynamically from one general call message to the next; the terminal includes means operative in step d) to discriminate between the absence of any general call response message being received and a non-compliant message being received, particularly in the event of collision between messages transmitted by two different badges; in step d), in the presence of a non-complaint message, the probability modulation parameter is modified before returning to step a), with the modification being in a direction that decreases the probability of a xe2x80x9ctruexe2x80x9d result being obtained in the subsequent step b); and in step d), in the absence of the terminal receiving a general call response message, the probability modulation parameter is modified prior to returning to step a) in a direction that increases the probability of obtaining a xe2x80x9ctruexe2x80x9d result in the subsequent step b); and
after each comparison of step b), the badge counts the number of consecutive xe2x80x9cfalsexe2x80x9d results produced in response to the same series of general call messages transmitted by the terminal, and forces a response message to be transmitted to the general call whenever the corresponding count has reached a predetermined threshold, even when the protocol defined by the probability modulation parameter requires a random response.